var formulario;
var idProducto=0;
var tipo =0;
$(function() {
	limpiarSilde();	
	cargarProductoAutoComplete();
	$( "ul.droptrue" ).sortable({
		connectWith: "ul",
		receive: function(event,ui){
			var li = ui.item;
			var hidden = li.find("input");
			hidden.attr("id","idDisponible");
			hidden.attr("name","idDisponible");	
			//li.append('<input type="text" id="" name="" value="" />');
		}
	});

	$( "ul.dropfalse" ).sortable({
		connectWith: "ul",
		dropOnEmpty: false,
		receive: function(event,ui){			
			var li = ui.item;
			var hidden = li.find("input");
			hidden.attr("id","idAsignado");	
			hidden.attr("name","idAsignado");	
		}
	});

	$( "#sortable1, #sortable2" ).disableSelection();
	$("#cboTipo").change(function () {
    	$("#cboTipo option:selected").each(function(i,item){
			tipo = $(this).val();
		});    	
	});
	
	$(".btnBuscar").click(function(){		
		var txtNombre=$("#txtNombre").val();
		buscarProductosFiltros(idProducto,txtNombre,tipo);
	}).button({
		icons: {
			primary: "ui-icon-circle-plus"
		}
	});
	
	
	
	var formulario=$("#formAsignados");
	formulario.validate({		
		submitHandler: function(form){
			$.post(form.action,$(form).serialize(),function(resp){
				if(resp==1){
					mensajeOK(" Guardado Correctamente  ");
					location.href=baseURL;
				}else{
					error(" Ocurrio un error intente nuevamente  ");
				}
			});
		}
	});
	
	$(".btnGuardar").click(function(){		
		formulario.submit();
	}).button({
		icons: {
			primary: "ui-icon-circle-plus"
		}
	});
});

function buscarProductosFiltros(idProducto,txtNombre,tipo){
	cargarProductosDisponibles(idProducto,txtNombre,tipo);
}

function cargarProductoAutoComplete() {
	var txtNombreProducto=$("#txtNombreProducto");
	$.get(baseURL + "mantenimiento/asignarProductos/obtenerProducto",function(products){
		var lst  = new Array();
		for ( var i = 0; i < products.length; i++) {
			
			console.log("products[i].completo:"+products[i].completo);
			console.log("products[i].act :"+products[i].act );
			
			lst[i] = {
				id : products[i].id,
				label : products[i].nombre ,
				completo : products[i].completo ,
				activo : products[i].act 
			};
		}
		console.log("lst:"+lst);
		txtNombreProducto.autocomplete({
			source : lst,
			select : function(event, ui) {
				idProducto = ui.item.id;				
				$("#idProducto").val(idProducto);
				$("#lblProducto").val(ui.item.label);
				console.log("ui.item.act:"+ui.item.activo);
				console.log("ui.item.completo:"+ui.item.completo);
				
				if(ui.item.activo){
					$('#activo').attr('checked', true);
				}
				if(ui.item.completo){
					$('#completo').attr('checked', true);
				}
				
				listarPorductosAsignados(idProducto,ui.item.label);				
				cargarProductosDisponibles(idProducto,null,null);
			}

		});		
		
	});

}

function listarPorductosAsignados(id,lblProduc){	
	try{
	var productosAsignados=$("#productosAsignados");
	productosAsignados.html("");
	$.get(baseURL + "mantenimiento/asignarProductos/obtenerProductoAsignados/"+lblProduc+"/"+id,function(products){
		$(products).each(function(i,item){
			productosAsignados.append('<li id="product'+item.id+'" class="ui-corner-all ui-state-hover">  <span> '+item.nombre+' </span> <input type="hidden" name="idAsignado" value="'+item.id+'" />  </li> ');
		});
		productosAsignados.append('<li class="" ></li>');
	});	
	}catch(e){
		alert(e.message);
	}
}

function cargarProductosDisponibles(id,nombre,categoria){	
	var url = baseURL + "mantenimiento/productosDisponibles/"+id;	
	if(nombre==null || nombre==""){
		 nombre="";
	}
	if(categoria==null || categoria==""){
		categoria="0";
	}	
	url=url+"?nombre="+nombre+"&tipo="+categoria;	
	var productosDisponibles=$("#productosDisponibles");
	productosDisponibles.html("");	
	$.get(url,function(products){
		$(products).each(function(i,item){
			productosDisponibles.append('<li id="product'+item.id+'" class="ui-corner-all  ui-state-active"><span> '+item.nombre+' </span> <input type="hidden" name="idDisponible" value="'+item.id+'" /></li> ');
		});
		productosDisponibles.append('<li class="" ></li>');
		
	});	
}


